From 0c29f97df0f61098c96a411ad745bb24e0adc7ae Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 2 Apr 2009 11:48:10 +0100 Subject: [PATCH] network-bridge: Fix do_ifup in the case of ${bridge} != ${netdev} On RHEL5.2, ifup ${bridge} fails if ${bridge} != ${netdev}, because RHEL5.2's ifup ${bridge} runs the following sequence: 1. Search CONFIG that has the same mac address of ${bridge}.=20 ifcfg-${netdev} is found. 2. Run "ip link set dev ${netdev} up". # ${bridge} is expected. 3. Output "Failed to bring up ${netdev}." Because ${netdev} does not exist. Thus, do_ifup() should not use ifup if ${bridge} != ${netdev}. Signed-off-by: KUWAMURA Shin'ya --- tools/hotplug/Linux/network-bridge | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/hotplug/Linux/network-bridge b/tools/hotplug/Linux/network-bridge index 9d7be4e2e5..091b8beb3e 100644 --- a/tools/hotplug/Linux/network-bridge +++ b/tools/hotplug/Linux/network-bridge @@ -106,7 +106,7 @@ get_ip_info() { } do_ifup() { - if ! ifup $1 ; then + if [ $1 != "${netdev}" ] || ! ifup $1 ; then if [ -n "$addr_pfx" ] ; then # use the info from get_ip_info() ip addr flush $1 @@ -223,9 +223,9 @@ op_start () { preiftransfer ${netdev} transfer_addrs ${netdev} ${tdev} + # Remember the IP details for do_ifup. + get_ip_info ${netdev} if ! ifdown ${netdev}; then - # If ifdown fails, remember the IP details. - get_ip_info ${netdev} ip link set ${netdev} down ip addr flush ${netdev} fi -- 2.30.2